<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IBustEngine</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="index.html" title="IBust Reference Manual">
<link rel="up" href="ch03.html" title="Input method engine">
<link rel="prev" href="IBustComponent.html" title="IBustComponent">
<link rel="next" href="IBustEngineDesc.html" title="IBustEngineDesc">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="IBustComponent.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">IBust Reference Manual</th>
<td><a accesskey="n" href="IBustEngineDesc.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#IBustEngine.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#IBustEngine.description" class="shortcut">Description</a>
                   | 
                  <a href="#IBustEngine.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#IBustEngine.properties" class="shortcut">Properties</a>
                   | 
                  <a href="#IBustEngine.signals" class="shortcut">Signals</a>
</td></tr>
</table>
<div class="refentry">
<a name="IBustEngine"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="IBustEngine.top_of_page"></a>IBustEngine</span></h2>
<p>IBustEngine — Input method engine abstract.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="IBustEngine.stability-level"></a><h2>Stability Level</h2>
Stable, unless otherwise indicated
</div>
<div class="refsynopsisdiv">
<a name="IBustEngine.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">struct              <a class="link" href="IBustEngine.html#IBustEngine-struct" title="struct IBustEngine">IBustEngine</a>;
struct              <a class="link" href="IBustEngine.html#IBustEngineClass" title="struct IBustEngineClass">IBustEngineClass</a>;
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-commit-text" title="ibust_engine_commit_text ()">ibust_engine_commit_text</a>             (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustText.html" title="IBustText"><span class="type">IBustText</span></a> *text</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-delete-surrounding-text" title="ibust_engine_delete_surrounding_text ()">ibust_engine_delete_surrounding_text</a> (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><span class="type">gint</span> offset</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> nchars</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-forward-key-event" title="ibust_engine_forward_key_event ()">ibust_engine_forward_key_event</a>       (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keycode</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> state</code></em>);
const <span class="returnvalue">gchar</span> *       <a class="link" href="IBustEngine.html#ibust-engine-get-name" title="ibust_engine_get_name ()">ibust_engine_get_name</a>                (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-get-surrounding-text" title="ibust_engine_get_surrounding_text ()">ibust_engine_get_surrounding_text</a>    (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustText.html" title="IBustText"><span class="type">IBustText</span></a> **text</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> *cursor_pos</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> *anchor_pos</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-hide-auxiliary-text" title="ibust_engine_hide_auxiliary_text ()">ibust_engine_hide_auxiliary_text</a>     (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-hide-lookup-table" title="ibust_engine_hide_lookup_table ()">ibust_engine_hide_lookup_table</a>       (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-hide-preedit-text" title="ibust_engine_hide_preedit_text ()">ibust_engine_hide_preedit_text</a>       (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);
<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="returnvalue">IBustEngine</span></a> *        <a class="link" href="IBustEngine.html#ibust-engine-new" title="ibust_engine_new ()">ibust_engine_new</a>                     (<em class="parameter"><code>const <span class="type">gchar</span> *engine_name</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>,
                                                         <em class="parameter"><code><span class="type">GDBusConnection</span> *connection</code></em>);
<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="returnvalue">IBustEngine</span></a> *        <a class="link" href="IBustEngine.html#ibust-engine-new-with-type" title="ibust_engine_new_with_type ()">ibust_engine_new_with_type</a>           (<em class="parameter"><code><span class="type">GType</span> engine_type</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *engine_name</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>,
                                                         <em class="parameter"><code><span class="type">GDBusConnection</span> *connection</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-register-properties" title="ibust_engine_register_properties ()">ibust_engine_register_properties</a>     (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustProperty.html#IBustPropList"><span class="type">IBustPropList</span></a> *prop_list</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-show-auxiliary-text" title="ibust_engine_show_auxiliary_text ()">ibust_engine_show_auxiliary_text</a>     (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-show-lookup-table" title="ibust_engine_show_lookup_table ()">ibust_engine_show_lookup_table</a>       (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-show-preedit-text" title="ibust_engine_show_preedit_text ()">ibust_engine_show_preedit_text</a>       (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-update-auxiliary-text" title="ibust_engine_update_auxiliary_text ()">ibust_engine_update_auxiliary_text</a>   (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustText.html" title="IBustText"><span class="type">IBustText</span></a> *text</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-update-lookup-table" title="ibust_engine_update_lookup_table ()">ibust_engine_update_lookup_table</a>     (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustLookupTable.html" title="IBustLookupTable"><span class="type">IBustLookupTable</span></a> *lookup_table</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-update-lookup-table-fast" title="ibust_engine_update_lookup_table_fast ()">ibust_engine_update_lookup_table_fast</a>
                                                        (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustLookupTable.html" title="IBustLookupTable"><span class="type">IBustLookupTable</span></a> *lookup_table</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-update-preedit-text" title="ibust_engine_update_preedit_text ()">ibust_engine_update_preedit_text</a>     (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustText.html" title="IBustText"><span class="type">IBustText</span></a> *text</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> cursor_pos</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-update-preedit-text-with-mode" title="ibust_engine_update_preedit_text_with_mode ()">ibust_engine_update_preedit_text_with_mode</a>
                                                        (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustText.html" title="IBustText"><span class="type">IBustText</span></a> *text</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> cursor_pos</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>,
                                                         <em class="parameter"><code><a class="link" href="ibust-ibusttypes.html#IBustPreeditFocusMode" title="enum IBustPreeditFocusMode"><span class="type">IBustPreeditFocusMode</span></a> mode</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="IBustEngine.html#ibust-engine-update-property" title="ibust_engine_update_property ()">ibust_engine_update_property</a>         (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustProperty.html" title="IBustProperty"><span class="type">IBustProperty</span></a> *prop</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="IBustEngine.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  GObject
   +----GInitiallyUnowned
         +----<a class="link" href="IBustObject.html" title="IBustObject">IBustObject</a>
               +----<a class="link" href="IBustService.html" title="IBustService">IBustService</a>
                     +----IBustEngine
</pre>
</div>
<div class="refsect1">
<a name="IBustEngine.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="IBustEngine.html#IBustEngine--engine-name" title='The "engine-name" property'>engine-name</a>"              <span class="type">gchar</span>*                : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1">
<a name="IBustEngine.signals"></a><h2>Signals</h2>
<pre class="synopsis">
  "<a class="link" href="IBustEngine.html#IBustEngine-cancel-hand-writing" title='The "cancel-hand-writing" signal'>cancel-hand-writing</a>"                            : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-candidate-clicked" title='The "candidate-clicked" signal'>candidate-clicked</a>"                              : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-cursor-down" title='The "cursor-down" signal'>cursor-down</a>"                                    : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-cursor-up" title='The "cursor-up" signal'>cursor-up</a>"                                      : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-disable" title='The "disable" signal'>disable</a>"                                        : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-enable" title='The "enable" signal'>enable</a>"                                         : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-focus-in" title='The "focus-in" signal'>focus-in</a>"                                       : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-focus-out" title='The "focus-out" signal'>focus-out</a>"                                      : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-page-down" title='The "page-down" signal'>page-down</a>"                                      : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-page-up" title='The "page-up" signal'>page-up</a>"                                        : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-process-hand-writing-event" title='The "process-hand-writing-event" signal'>process-hand-writing-event</a>"                     : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-process-key-event" title='The "process-key-event" signal'>process-key-event</a>"                              : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-property-activate" title='The "property-activate" signal'>property-activate</a>"                              : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-property-hide" title='The "property-hide" signal'>property-hide</a>"                                  : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-property-show" title='The "property-show" signal'>property-show</a>"                                  : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-reset" title='The "reset" signal'>reset</a>"                                          : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-set-capabilities" title='The "set-capabilities" signal'>set-capabilities</a>"                               : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-set-cursor-location" title='The "set-cursor-location" signal'>set-cursor-location</a>"                            : <code class="literal">Run Last</code>
  "<a class="link" href="IBustEngine.html#IBustEngine-set-surrounding-text" title='The "set-surrounding-text" signal'>set-surrounding-text</a>"                           : <code class="literal">Run Last</code>
</pre>
</div>
<div class="refsect1">
<a name="IBustEngine.description"></a><h2>Description</h2>
<p>
An IBustEngine provides infrastructure for input method engine.
Developers can "extend" this class for input method engine development.
</p>
<p>
see_also: <a class="link" href="IBustComponent.html" title="IBustComponent"><span class="type">IBustComponent</span></a>, <a class="link" href="IBustEngineDesc.html" title="IBustEngineDesc"><span class="type">IBustEngineDesc</span></a>
</p>
</div>
<div class="refsect1">
<a name="IBustEngine.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="IBustEngine-struct"></a><h3>struct IBustEngine</h3>
<pre class="programlisting">struct IBustEngine {
    gboolean enabled;
    gboolean has_focus;

    /* cursor location */
    IBustRectangle cursor_area;
    guint client_capabilities;
};
</pre>
<p>
IBustEngine properties.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><span class="type">gboolean</span> <em class="structfield"><code><a name="IBustEngine-struct.enabled"></a>enabled</code></em>;</span></p></td>
<td>Whether the engine is enabled.</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">gboolean</span> <em class="structfield"><code><a name="IBustEngine-struct.has-focus"></a>has_focus</code></em>;</span></p></td>
<td>Whether the engine has focus.</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="ibust-ibusttypes.html#IBustRectangle" title="struct IBustRectangle"><span class="type">IBustRectangle</span></a> <em class="structfield"><code><a name="IBustEngine-struct.cursor-area"></a>cursor_area</code></em>;</span></p></td>
<td>Area of cursor.</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="IBustEngine-struct.client-capabilities"></a>client_capabilities</code></em>;</span></p></td>
<td>IBustCapabilite (client capabilities) flags.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngineClass"></a><h3>struct IBustEngineClass</h3>
<pre class="programlisting">struct IBustEngineClass {
    /* signals */
    gboolean    (* process_key_event)
                                    (IBustEngine     *engine,
                                     guint           keyval,
                                     guint           keycode,
                                     guint           state);
    void        (* focus_in)        (IBustEngine     *engine);
    void        (* focus_out)       (IBustEngine     *engine);
    void        (* reset)           (IBustEngine     *engine);
    void        (* enable)          (IBustEngine     *engine);
    void        (* disable)         (IBustEngine     *engine);
    void        (* set_cursor_location)
                                    (IBustEngine     *engine,
                                    gint             x,
                                    gint             y,
                                    gint             w,
                                    gint             h);
    void        (* set_capabilities)
                                    (IBustEngine     *engine,
                                     guint           caps);

    void        (* page_up)         (IBustEngine     *engine);
    void        (* page_down)       (IBustEngine     *engine);
    void        (* cursor_up)       (IBustEngine     *engine);
    void        (* cursor_down)     (IBustEngine     *engine);

    void        (* property_activate)
                                    (IBustEngine     *engine,
                                     const gchar    *prop_name,
                                     guint           prop_state);
    void        (* property_show)   (IBustEngine     *engine,
                                     const gchar    *prop_name);
    void        (* property_hide)   (IBustEngine     *engine,
                                     const gchar    *prop_name);
    void        (* candidate_clicked)
                                    (IBustEngine     *engine,
                                     guint           index,
                                     guint           button,
                                     guint           state);
    void        (* set_surrounding_text)
                                    (IBustEngine     *engine,
                                     IBustText       *text,
                                     guint           cursor_index,
                                     guint           anchor_pos);
    void        (* process_hand_writing_event)
                                    (IBustEngine     *engine,
                                     const gdouble  *coordinates,
                                     guint           coordinates_len);
    void        (* cancel_hand_writing)
                                    (IBustEngine     *engine,
                                     guint           n_strokes);
};
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-commit-text"></a><h3>ibust_engine_commit_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_commit_text             (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustText.html" title="IBustText"><span class="type">IBustText</span></a> *text</code></em>);</pre>
<p>
Commit output of input method to IBust client.
</p>
<p>
(Note: The text object will be released, if it is floating.
 If caller want to keep the object, caller should make the object
 sink by g_object_ref_sink.)
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>String commit to IBustEngine.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-delete-surrounding-text"></a><h3>ibust_engine_delete_surrounding_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_delete_surrounding_text (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><span class="type">gint</span> offset</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> nchars</code></em>);</pre>
<p>
Delete surrounding text.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
<td>The offset of the first char.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>nchars</code></em> :</span></p></td>
<td>Number of chars to be deleted.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-forward-key-event"></a><h3>ibust_engine_forward_key_event ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_forward_key_event       (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> keycode</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> state</code></em>);</pre>
<p>
Forward the key event.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>keyval</code></em> :</span></p></td>
<td>KeySym.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>keycode</code></em> :</span></p></td>
<td>keyboard scancode.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
<td>Key modifier flags.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-get-name"></a><h3>ibust_engine_get_name ()</h3>
<pre class="programlisting">const <span class="returnvalue">gchar</span> *       ibust_engine_get_name                (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);</pre>
<p>
Return the name of IBustEngine.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>Name of IBustEngine.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-get-surrounding-text"></a><h3>ibust_engine_get_surrounding_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_get_surrounding_text    (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustText.html" title="IBustText"><span class="type">IBustText</span></a> **text</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> *cursor_pos</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> *anchor_pos</code></em>);</pre>
<p>
Get surrounding text.
</p>
<p>
It is also used to tell the input-context that the engine will
utilize surrounding-text.  In that case, it must be called in
<a class="link" href="IBustEngine.html#IBustEngine-enable" title='The "enable" signal'><span class="type">"enable"</span></a> handler, with both <em class="parameter"><code>text</code></em> and <em class="parameter"><code>cursor</code></em> set to
<code class="literal">NULL</code>.
</p>
<p>
see_also <a class="link" href="IBustEngine.html#IBustEngine-set-surrounding-text" title='The "set-surrounding-text" signal'><span class="type">"set-surrounding-text"</span></a>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>Location to store surrounding text. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cursor_pos</code></em> :</span></p></td>
<td>Cursor position in characters in <em class="parameter"><code>text</code></em>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>anchor_pos</code></em> :</span></p></td>
<td>Anchor position of selection in <em class="parameter"><code>text</code></em>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-hide-auxiliary-text"></a><h3>ibust_engine_hide_auxiliary_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_hide_auxiliary_text     (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);</pre>
<p>
Hide the auxiliary bar.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-hide-lookup-table"></a><h3>ibust_engine_hide_lookup_table ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_hide_lookup_table       (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);</pre>
<p>
Hide the lookup table.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-hide-preedit-text"></a><h3>ibust_engine_hide_preedit_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_hide_preedit_text       (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);</pre>
<p>
Hide the pre-edit buffer.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-new"></a><h3>ibust_engine_new ()</h3>
<pre class="programlisting"><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="returnvalue">IBustEngine</span></a> *        ibust_engine_new                     (<em class="parameter"><code>const <span class="type">gchar</span> *engine_name</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>,
                                                         <em class="parameter"><code><span class="type">GDBusConnection</span> *connection</code></em>);</pre>
<p>
New an IBustEngine.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine_name</code></em> :</span></p></td>
<td>Name of the IBustObject.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>object_path</code></em> :</span></p></td>
<td>Path for IBustService.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
<td>An opened GDBusConnection.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A newly allocated IBustEngine.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-new-with-type"></a><h3>ibust_engine_new_with_type ()</h3>
<pre class="programlisting"><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="returnvalue">IBustEngine</span></a> *        ibust_engine_new_with_type           (<em class="parameter"><code><span class="type">GType</span> engine_type</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *engine_name</code></em>,
                                                         <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>,
                                                         <em class="parameter"><code><span class="type">GDBusConnection</span> *connection</code></em>);</pre>
<p>
New an IBustEngine.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine_type</code></em> :</span></p></td>
<td>GType of <a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine_name</code></em> :</span></p></td>
<td>Name of the IBustObject.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>object_path</code></em> :</span></p></td>
<td>Path for IBustService.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
<td>An opened GDBusConnection.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A newly allocated IBustEngine.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-register-properties"></a><h3>ibust_engine_register_properties ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_register_properties     (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustProperty.html#IBustPropList"><span class="type">IBustPropList</span></a> *prop_list</code></em>);</pre>
<p>
Register and show properties in language bar.
</p>
<p>
(Note: The prop_list object will be released, if it is floating.
 If caller want to keep the object, caller should make the object
 sink by g_object_ref_sink.)
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>prop_list</code></em> :</span></p></td>
<td>Property List.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-show-auxiliary-text"></a><h3>ibust_engine_show_auxiliary_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_show_auxiliary_text     (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);</pre>
<p>
Show the auxiliary bar.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-show-lookup-table"></a><h3>ibust_engine_show_lookup_table ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_show_lookup_table       (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);</pre>
<p>
Show the lookup table.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-show-preedit-text"></a><h3>ibust_engine_show_preedit_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_show_preedit_text       (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>);</pre>
<p>
Show the pre-edit buffer.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-update-auxiliary-text"></a><h3>ibust_engine_update_auxiliary_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_update_auxiliary_text   (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustText.html" title="IBustText"><span class="type">IBustText</span></a> *text</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);</pre>
<p>
Update the auxiliary bar.
</p>
<p>
(Note: The text object will be released, if it is floating.
 If caller want to keep the object, caller should make the object
 sink by g_object_ref_sink.)
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>Update content.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
<td>Whether the auxiliary text bar is visible.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-update-lookup-table"></a><h3>ibust_engine_update_lookup_table ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_update_lookup_table     (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustLookupTable.html" title="IBustLookupTable"><span class="type">IBustLookupTable</span></a> *lookup_table</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);</pre>
<p>
Update the lookup table.
</p>
<p>
(Note: The table object will be released, if it is floating.
 If caller want to keep the object, caller should make the object
 sink by g_object_ref_sink.)
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>lookup_table</code></em> :</span></p></td>
<td>An lookup_table.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
<td>Whether the lookup_table is visible.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-update-lookup-table-fast"></a><h3>ibust_engine_update_lookup_table_fast ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_update_lookup_table_fast
                                                        (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustLookupTable.html" title="IBustLookupTable"><span class="type">IBustLookupTable</span></a> *lookup_table</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);</pre>
<p>
Fast update for big lookup table.
</p>
<p>
If size of lookup table is not over table page size *4,
then it calls <a class="link" href="IBustEngine.html#ibust-engine-update-lookup-table" title="ibust_engine_update_lookup_table ()"><code class="function">ibust_engine_update_lookup_table()</code></a>.
</p>
<p>
(Note: The table object will be released, if it is floating.
 If caller want to keep the object, caller should make the object
 sink by g_object_ref_sink.)
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>lookup_table</code></em> :</span></p></td>
<td>An lookup_table.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
<td>Whether the lookup_table is visible.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-update-preedit-text"></a><h3>ibust_engine_update_preedit_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_update_preedit_text     (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustText.html" title="IBustText"><span class="type">IBustText</span></a> *text</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> cursor_pos</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>);</pre>
<p>
Update the pre-edit buffer.
</p>
<p>
(Note: The text object will be released, if it is floating.
 If caller want to keep the object, caller should make the object
 sink by g_object_ref_sink.)
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>Update content.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cursor_pos</code></em> :</span></p></td>
<td>Current position of cursor</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
<td>Whether the pre-edit buffer is visible.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-update-preedit-text-with-mode"></a><h3>ibust_engine_update_preedit_text_with_mode ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_update_preedit_text_with_mode
                                                        (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustText.html" title="IBustText"><span class="type">IBustText</span></a> *text</code></em>,
                                                         <em class="parameter"><code><span class="type">guint</span> cursor_pos</code></em>,
                                                         <em class="parameter"><code><span class="type">gboolean</span> visible</code></em>,
                                                         <em class="parameter"><code><a class="link" href="ibust-ibusttypes.html#IBustPreeditFocusMode" title="enum IBustPreeditFocusMode"><span class="type">IBustPreeditFocusMode</span></a> mode</code></em>);</pre>
<p>
Update the pre-edit buffer with commit mode. Similar to
<a class="link" href="IBustEngine.html#ibust-engine-update-preedit-text" title="ibust_engine_update_preedit_text ()"><code class="function">ibust_engine_update_preedit_text()</code></a>, this function allows users to specify
the behavior on focus out when the pre-edit buffer is visible.
</p>
<p>
If <em class="parameter"><code>mode</code></em> is IBUST_ENGINE_PREEDIT_COMMIT, contents of the pre-edit buffer
will be comitted and cleared.
If <em class="parameter"><code>mode</code></em> is IBUST_ENGINE_PREEDIT_CLEAR, contents of the pre-edit buffer
will be cleared only.
</p>
<p>
(Note: The text object will be released, if it is floating.
 If caller want to keep the object, caller should make the object
 sink by g_object_ref_sink.)
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>Update content.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cursor_pos</code></em> :</span></p></td>
<td>Current position of cursor</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
<td>Whether the pre-edit buffer is visible.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td>
<td>Pre-edit commit mode when the focus is lost.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="ibust-engine-update-property"></a><h3>ibust_engine_update_property ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                ibust_engine_update_property         (<em class="parameter"><code><a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine</code></em>,
                                                         <em class="parameter"><code><a class="link" href="IBustProperty.html" title="IBustProperty"><span class="type">IBustProperty</span></a> *prop</code></em>);</pre>
<p>
Update the state displayed in language bar.
</p>
<p>
(Note: The prop object will be released, if it is floating.
 If caller want to keep the object, caller should make the object
 sink by g_object_ref_sink.)
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>prop</code></em> :</span></p></td>
<td>IBustProperty to be updated.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="IBustEngine.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="IBustEngine--engine-name"></a><h3>The <code class="literal">"engine-name"</code> property</h3>
<pre class="programlisting">  "engine-name"              <span class="type">gchar</span>*                : Read / Write / Construct Only</pre>
<p>engine name.</p>
<p>Default value: "noname"</p>
</div>
</div>
<div class="refsect1">
<a name="IBustEngine.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="IBustEngine-cancel-hand-writing"></a><h3>The <code class="literal">"cancel-hand-writing"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">guint</span>       n_strokes,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when a hand writing operation is cancelled.
Implement the member function <code class="function">cancel_hand_writing()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_strokes</code></em> :</span></p></td>
<td>The number of strokes to be removed. 0 means "remove all".</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-candidate-clicked"></a><h3>The <code class="literal">"candidate-clicked"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">guint</span>       index,
                                                        <span class="type">guint</span>       button,
                                                        <span class="type">guint</span>       state,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when candidate on lookup table is clicked.
Implement the member function <code class="function">candidate_clicked()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>index</code></em> :</span></p></td>
<td>Index of candidate be clicked.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>button</code></em> :</span></p></td>
<td>Mouse button.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
<td>Keyboard state.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-cursor-down"></a><h3>The <code class="literal">"cursor-down"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the down cursor button is pressed.
Implement the member function <code class="function">cursor_down()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-cursor-up"></a><h3>The <code class="literal">"cursor-up"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the up cursor button is pressed.
Implement the member function <code class="function">cursor_up()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-disable"></a><h3>The <code class="literal">"disable"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the IME is disabled.
Implement the member function <code class="function">set_disable()</code> in extended class to receive this signal.
</p>
<p>
See also:  <code class="function">ibust_input_context_disable()</code>.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-enable"></a><h3>The <code class="literal">"enable"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the IME is enabled.
Implement the member function <code class="function">set_enable()</code> in extended class to receive this signal.
</p>
<p>
See also:  <code class="function">ibust_input_context_enable()</code>.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-focus-in"></a><h3>The <code class="literal">"focus-in"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the client application get the focus.
Implement the member function <code class="function">focus_in()</code> in extended class to receive this signal.
</p>
<p>
See also: <a class="link" href="IBustInputContext.html#ibust-input-context-focus-in" title="ibust_input_context_focus_in ()"><code class="function">ibust_input_context_focus_in()</code></a>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-focus-out"></a><h3>The <code class="literal">"focus-out"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the client application  lost the focus.
Implement the member function <code class="function">focus_out()</code> in extended class to receive this signal.
</p>
<p>
See also: <a class="link" href="IBustInputContext.html#ibust-input-context-focus-out" title="ibust_input_context_focus_out ()"><code class="function">ibust_input_context_focus_out()</code></a>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-page-down"></a><h3>The <code class="literal">"page-down"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the page-down button is pressed.
Implement the member function <code class="function">page_down()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-page-up"></a><h3>The <code class="literal">"page-up"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the page-up button is pressed.
Implement the member function <code class="function">page_up()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-process-hand-writing-event"></a><h3>The <code class="literal">"process-hand-writing-event"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gpointer</span>    coordinates,
                                                        <span class="type">guint</span>       coordinates_len,
                                                        <span class="type">gpointer</span>    user_data)            : <code class="literal">Run Last</code></pre>
<p>
Emitted when a hand writing operation is cancelled.
Implement the member function <code class="function">cancel_hand_writing()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coordinates</code></em> :</span></p></td>
<td>An array of double (0.0 to 1.0) which represents a stroke (i.e. [x1, y1, x2, y2, x3, y3, ...]).</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>coordinates_len</code></em> :</span></p></td>
<td>The number of elements in the array.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-process-key-event"></a><h3>The <code class="literal">"process-key-event"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>            user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">guint</span>       keyval,
                                                        <span class="type">guint</span>       keycode,
                                                        <span class="type">guint</span>       state,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when a key event is received.
Implement the member function <code class="function">process_key_event()</code> in extended class to receive this signal.
Both the key symbol and keycode are passed to the member function.
See <a class="link" href="IBustInputContext.html#ibust-input-context-process-key-event" title="ibust_input_context_process_key_event ()"><code class="function">ibust_input_context_process_key_event()</code></a> for further explanation of
key symbol, keycode and which to use.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>keyval</code></em> :</span></p></td>
<td>Key symbol of the key press.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>keycode</code></em> :</span></p></td>
<td>KeyCode of the key press.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
<td>Key modifier flags.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE for successfully process the key; FALSE otherwise.
See also:  <a class="link" href="IBustInputContext.html#ibust-input-context-process-key-event" title="ibust_input_context_process_key_event ()"><code class="function">ibust_input_context_process_key_event()</code></a>.
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-property-activate"></a><h3>The <code class="literal">"property-activate"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gchar</span>      *name,
                                                        <span class="type">guint</span>       state,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when a property is activated or change changed.
Implement the member function <code class="function">property_activate()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>Property name.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
<td>Property state.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-property-hide"></a><h3>The <code class="literal">"property-hide"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gchar</span>      *name,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when a property is hidden.
Implement the member function <code class="function">property_hide()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>Property name.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-property-show"></a><h3>The <code class="literal">"property-show"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gchar</span>      *name,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when a property is shown.
Implement the member function <code class="function">property_side()</code> in extended class to receive this signal.
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>Property name.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-reset"></a><h3>The <code class="literal">"reset"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the IME is reset.
Implement the member function <code class="function">reset()</code> in extended class to receive this signal.
</p>
<p>
See also:  <a class="link" href="IBustInputContext.html#ibust-input-context-reset" title="ibust_input_context_reset ()"><code class="function">ibust_input_context_reset()</code></a>.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-set-capabilities"></a><h3>The <code class="literal">"set-capabilities"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">guint</span>       caps,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the client application capabilities is set.
Implement the member function <code class="function">set_capabilities()</code> in extended class to receive this signal.
</p>
<p>
See also:  <a class="link" href="IBustInputContext.html#ibust-input-context-set-capabilities" title="ibust_input_context_set_capabilities ()"><code class="function">ibust_input_context_set_capabilities()</code></a>.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
<td>Capabilities flags of IBustEngine, see <a class="link" href="ibust-ibusttypes.html#IBustCapabilite"><span class="type">IBustCapabilite</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-set-cursor-location"></a><h3>The <code class="literal">"set-cursor-location"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">gint</span>        x,
                                                        <span class="type">gint</span>        y,
                                                        <span class="type">gint</span>        w,
                                                        <span class="type">gint</span>        h,
                                                        <span class="type">gpointer</span>    user_data)      : <code class="literal">Run Last</code></pre>
<p>
Emitted when the location of IME is set.
Implement the member function <code class="function">set_cursor_location()</code> in extended class to receive this signal.
</p>
<p>
See also:  <a class="link" href="IBustInputContext.html#ibust-input-context-set-cursor-location" title="ibust_input_context_set_cursor_location ()"><code class="function">ibust_input_context_set_cursor_location()</code></a>.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>X coordinate of the cursor.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
<td>Y coordinate of the cursor.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>w</code></em> :</span></p></td>
<td>Width of the cursor.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>h</code></em> :</span></p></td>
<td>Height of the cursor.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="IBustEngine-set-surrounding-text"></a><h3>The <code class="literal">"set-surrounding-text"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="IBustEngine.html" title="IBustEngine"><span class="type">IBustEngine</span></a> *engine,
                                                        <span class="type">GObject</span>    *text,
                                                        <span class="type">guint</span>       cursor_pos,
                                                        <span class="type">guint</span>       anchor_pos,
                                                        <span class="type">gpointer</span>    user_data)       : <code class="literal">Run Last</code></pre>
<p>
Emitted when a surrounding text is set.
Implement the member function <code class="function">set_surrounding_text()</code> in extended class to receive this signal.
If anchor_pos equals to cursor_pos, it means "there are no selection" or "does not support
selection retrival".
</p>
<p>
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>Argument <em class="parameter"><code>user_data</code></em> is ignored in this function.</p>
</div>
<p>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>engine</code></em> :</span></p></td>
<td>An IBustEngine.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>The surrounding text.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cursor_pos</code></em> :</span></p></td>
<td>The cursor position on surrounding text.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>anchor_pos</code></em> :</span></p></td>
<td>The anchor position on selection area.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>